package com.qf.service;

import com.github.pagehelper.PageInfo;
import com.qf.entity.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 2019/12/11
 * 郭程鹏
 * springboot_oa_five
 * 面向代码面向君,不负时光不负卿
 */

public interface MenuService {

    //异步校验权限码
    Integer ajaxPreCode( String preCode);
    //异步校验请求路径
    Integer ajaxUrl(String menuUrl);

    //查询所有菜单
    PageInfo<Menu> findAllMenu(Integer page,String menuName);
    //c查询顶级菜单
    List<Menu> findFatherMenu();

    //异步校验用户名
    Integer ajaxMenuName(String menuName);

    //添加菜单
    Integer addMenu(Menu menu);

    //查询菜单信息
    Menu findMyMenuById(Integer menuId);

    //修改菜单
    void updateMenu(Menu menu);

    //判断是否菜单可删
    List<Integer> checkMenuInMiddle( Integer menuId);

    //清空中间表的菜单 删除菜单
    void deleteMenuIdInMiddleFromMiddel(  Integer menuId);

    //禁用菜单
    void menuBan(Integer menuId);

    //启用菜单
    void menuActive( Integer menuId);

    //批量导出
    List<Menu> doExcle(List<Integer> menuId);

    //判断是否菜单可删
    List<Integer> checkMenuInMiddleDelete( List<Integer> menuId);

    //批量删除
    void deleteAll(List<Integer> menuId);
}
